package com.txc.openfeign.common.pay.vo;

import lombok.Getter;

/**
 * 响应码说明
 *
 * @EnumName: ResponseCodeEnum
 * @Author: TXC
 * @Date: 2023-01-04 09:56
 **/
@Getter
public enum ResponseCodeEnum {
    // 成功响应码
    CODE_9999("9999", "交易成功"),
    // 程序错误类响应码
    CODE_0000("0000", "报文格式错误"),
    CODE_0001("0001", "机构标识不合法"),
    CODE_0002("0002", "协议的版本号错误"),
    CODE_0003("0003", "参数格式错误"),
    CODE_0004("0004", "关键数据为空"),
    CODE_0005("0005", "签名无效"),
    CODE_0006("0006", "解密失败"),
    CODE_0007("0007", "密钥id不存在"),
    CODE_0008("0008", "业务未开通"),
    CODE_0009("0009", "系统异常"),
    CODE_0010("0010", "与第三方通讯失败"),
    // 欠费查询错误响应码
    CODE_1000("1000", "缴费单已经支付"),
    CODE_1001("1001", "缴费单未出账"),
    CODE_1002("1002", "查询的号码不合法"),
    CODE_1003("1003", "未欠费"),
    CODE_1004("1004", "缴费号码超过受理期，请至收费单位缴费。"),
    CODE_1005("1005", "暂时无法缴费或超过限定缴费金额，请咨询事业单位"),
    CODE_1006("1006", "银行代扣期间禁止缴费"),
    // 缴费错误响应码
    CODE_2001("2001", "缴费单已经销账"),
    CODE_2002("2002", "缴费金额不等"),
    CODE_2003("2003", "缴费号码超过受理期，请至收费单位缴费。"),
    CODE_2004("2004", "超过限定缴费金额"),
    CODE_2005("2005", "业务状态异常"),
    // 查询确认错误响应码
    CODE_3000("3000", "没有该条记录"),
    CODE_3001("3001", "未知异常"),
    CODE_3002("3002", "处理中"),
    CODE_3003("3003", "处理状态失败"),
    // 文件类错误响应码
    CODE_4000("4000", "文件格式错误"),
    CODE_4001("4001", "文件业务日期不正确"),
    CODE_4002("4002", "文件摘要不正确"),
    CODE_4003("4003", "文件不存在"),
    CODE_4004("4004", "文件已经处理"),
    CODE_4005("4005", "对账报文发送成功");
    private final String value;
    private final String name;

    ResponseCodeEnum(String value, String name) {
        this.value = value;
        this.name = name;
    }
}
